package com.group01.dto.Commodity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotEmpty;

/**
 * @Description 新增图书传输数据DTO
 * @Author 翟玉龙
 * @Date 2024/6/21
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class CommodityInsertInfoDTO {

    /**
     * 商品名称
     */
    @NotEmpty(message = "商品名称不能为空")
    private String name;

    /**
     * 商品图片
     */
    @URL(message = "图片地址格式不正确")
    private String cover;

    /**
     * 商品简介
     */
    @NotEmpty(message = "商品简介不能为空")
    private String description;

    /**
     * 商品作者
     */
    @NotEmpty(message = "作者不能为空")
    private String author;

    /**
     * 商品出版社
     */
    @NotEmpty(message = "出版社不能为空")
    private String publisher;

    /**
     * 商品价格
     */
    @Digits(integer = 6, fraction = 2, message = "价格不满足整数最多6位,小数最多两位")
    private Double price;

    /**
     * 库存数量
     */
    @DecimalMin(value = "0", message = "库存数量是数字且不能小于0")
    private Integer storeNum;


    /**
     * 商品分类ID
     */
    @DecimalMin(value = "1", message = "分类ID是数字且不能小于1")
    private Integer categoryId;

}
